package utils;

import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.inject.Inject;

import model.Roles;
import model.UsuarioOnline;
import model.UsuarioRol;
import DAO.RolesDAO;
import DAO.UsuarioDAO;
import DAO.UsuarioRolDAO;

@Singleton 
@Startup
public class CrearUsuarioAdministrador 
{
	@Inject
	UsuarioDAO udao;
	@Inject
	UsuarioRolDAO urdao;
	@Inject
	RolesDAO rdao;
	
	
	public CrearUsuarioAdministrador()
	{
		try{
	
		Runnable  r = new Runnable() {
			@Override
			public void run() {
				try {
					Thread.sleep(3000);
				
				System.out.println("Creando datos iniciales......");
				
				Roles radmin = new Roles();
				radmin.setRolId(0);
				radmin.setRolDescripcion("Administrador");
			
				Roles rcli = new Roles();
				rcli.setRolId(1);
				rcli.setRolDescripcion("Cliente");
				
				if(rdao.buscar(0)==null)
				rdao.insertar(radmin);
				if(rdao.buscar(1)==null)
				rdao.insertar(rcli);
				
				UsuarioOnline uo = new UsuarioOnline();
				uo.setUsrClave("admin");
				uo.setUsrLogin("admin");
				
				if(udao.buscar("admin")==null)
				udao.insertar(uo);
				
				Thread.sleep(1000);

				
				UsuarioRol urol=new UsuarioRol();
				urol.setUsRolId(0);
				urol.setRol(radmin);
				urol.setUsuarioOnline(uo);
				
				if(urdao.buscar(1)==null)
				urdao.insertar(urol);
				System.out.println("Datos Cargados......");	
				} catch (InterruptedException e) {	}
			}
		};
		
		Thread t= new Thread(r);
		t.start();
		}
		catch(Exception e)
		{
	//		e.printStackTrace();
		}
		
		
	}

}
